package com.jt.www.admin.stats.service.impl;

import com.jt.www.admin.stats.service.EduCaseService;
import com.jt.www.enums.ResultEnum;
import com.jt.www.model.reps.ResultDTO;
import com.jt.www.model.vo.stats.caseage.CaseAgeParamVo;
import com.jt.www.model.vo.stats.caseage.CaseAgeReportResultVo;
import com.jt.www.model.vo.stats.caseage.CaseAgeServiceResultVo;
import com.jt.www.model.vo.stats.caseledger.CaseLedgerParamVo;
import com.jt.www.model.vo.stats.caseledger.CaseLedgerResultVO;
import com.jt.www.model.vo.stats.casepay.CasePayRateParamVo;
import com.jt.www.model.vo.stats.casepay.CasePayRateResultVo;
import com.jt.www.model.vo.stats.casesummary.CaseSummaryParamVo;
import com.jt.www.model.vo.stats.casesummary.CaseSummaryResultSumVo;
import com.jt.www.model.vo.stats.casesummary.CaseSummaryResultVo;
import com.jt.www.model.vo.stats.reportschema.ReportSchemaParamVo;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author admin_ltf
 * @create 2019-05-15 14:59
 */
@Service
public class EduCaseServiceImpl implements EduCaseService {
    @Override
    public ResultDTO searchCaseSummaryInfo(CaseSummaryParamVo caseSummaryParamVo) {
//        返回一个map 包含合计

        List<CaseSummaryResultVo> list = new ArrayList<>();
        CaseSummaryResultVo vo = new CaseSummaryResultVo();
        list.add(vo);
        CaseSummaryResultSumVo svo = new CaseSummaryResultSumVo();
        svo.setOrg("合计");
        HashMap map = new HashMap<String, Object>();
        map.put("resultList", list);
        map.put("summaryVo", svo);
        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchCasePayRate(CasePayRateParamVo casePayRateParamVo) {
//        CasePayRateResultVo
        List<CasePayRateResultVo> list = new ArrayList<>();
        CasePayRateResultVo vo = new CasePayRateResultVo();
        list.add(vo);
        HashMap map = new HashMap<String, Object>();
        map.put("resultList", list);
        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchCaseAgeReport(CaseAgeParamVo caseAgeParamVo) {
        //  CaseAgeReportResultVO
        List<CaseAgeReportResultVo> list = new ArrayList<>();
        CaseAgeReportResultVo vo = new CaseAgeReportResultVo();
        list.add(vo);
        HashMap map = new HashMap<String, Object>();
        map.put("resultList", list);
        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchCaseAgeService(CaseAgeParamVo caseAgeParamVo) {
        // CaseAgeServiceResultVo
        List<CaseAgeServiceResultVo> list = new ArrayList<>();
        CaseAgeServiceResultVo vo = new CaseAgeServiceResultVo();
        list.add(vo);
        HashMap map = new HashMap<String, Object>();
        map.put("resultList", list);
        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchCaseLedger(CaseLedgerParamVo caseLedgerParamVo) {
        // CaseLedgerResultVO
        List<CaseLedgerResultVO> list = new ArrayList<>();
        CaseLedgerResultVO vo = new CaseLedgerResultVO();
        list.add(vo);
        HashMap map = new HashMap<String, Object>();
        map.put("resultList", list);
        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchReportSchemaInfoBa(ReportSchemaParamVo vo) {

        // 接收到接口数据之后  再次封装成几个list  放入map  返回给前端

        // 险种insType 报案数 baNum  已结案件数cloNum  赔款金额paid

        Map<String, Object> map = new HashMap<>();

        List<String> listX = new ArrayList<>();
        listX.add("实责");
        listX.add("山东校责");
        listX.add("云南综合保障");
        listX.add("学生安全责任险");
        listX.add("学平险");
        map.put("xAxis", listX);

        List<Integer> listy1 = new ArrayList<>();
//        [300, 200, 150, 435, 333
        listy1.add(300);
        listy1.add(200);
        listy1.add(150);
        listy1.add(435);
        listy1.add(333);
        map.put("yBaNum", listy1);

        List<Integer> listy2 = new ArrayList<>();
//        [, 60, 40, 75, 80]
        listy2.add(50);
        listy2.add(60);
        listy2.add(40);
        listy2.add(75);
        listy2.add(80);
        map.put("yCloNum", listy2);


        List<Integer> listy3 = new ArrayList<>();
//        6000, 8000, 5900,4422,5566
        listy3.add(6000);
        listy3.add(8000);
        listy3.add(5900);
        listy3.add(4422);
        listy3.add(5566);
        map.put("yPaid", listy3);

        return new ResultDTO(ResultEnum.SUCCESS, map);
    }

    @Override
    public ResultDTO searchReportSchemaInfoSS(ReportSchemaParamVo vo) {

        // 接收到接口数据之后  再次封装成几个list  放入map  返回给前端

        // 险种insType 报案数 baNum  已结案件数cloNum  赔款金额paid

        Map<String, Object> map = new HashMap<>();

        List<String> listX = new ArrayList<>();
        listX.add("实责");
        listX.add("山东校责");
        listX.add("云南综合保障");
        listX.add("学生安全责任险");
        listX.add("学平险");
        map.put("xAxis", listX);

        List<Integer> listy1 = new ArrayList<>();
//        [300, 200, 150, 435, 333
        listy1.add(25);
        listy1.add(15);
        listy1.add(45);
        listy1.add(8);
        listy1.add(2);
        map.put("ySS", listy1);

        List<Integer> listy2 = new ArrayList<>();
//        [, 60, 40, 75, 80]
        listy2.add(2);
        listy2.add(4);
        listy2.add(12);
        listy2.add(6);
        listy2.add(9);
        map.put("ySW", listy2);


        return new ResultDTO(ResultEnum.SUCCESS, map);
    }


    @Override
    public ResultDTO searchReportSchemaInfoSG(ReportSchemaParamVo vo) {

        // 接收到接口数据之后  再次封装成几个list  放入map  返回给前端

        // 险种insType 报案数 baNum  已结案件数cloNum  赔款金额paid

        Map<String, Object> map = new HashMap<>();

        List<String> listX = new ArrayList<>();
        listX.add("体育活动");
        listX.add("摔碰伤");
        listX.add("校园设施隐患");
        listX.add("暴力伤害");
        listX.add("交通事故");
        listX.add("上下学途中");
        listX.add("食物中毒");
        listX.add("自杀");
        listX.add("其他");
        map.put("item", listX);

        List<Integer> listy1 = new ArrayList<>();
//        [300, 200, 150, 435, 333
        listy1.add(55);
        listy1.add(10);
        listy1.add(10);
        listy1.add(4);
        listy1.add(5);
        listy1.add(5);
        listy1.add(5);
        listy1.add(1);
        listy1.add(5);
        map.put("value", listy1);

        return new ResultDTO(ResultEnum.SUCCESS, map);
    }
}
